package com.ljy.my_study.lintcode.前K大数;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.PriorityQueue;

/** 
* @author James
* @date 2018年10月11日 
*/
public class TestMain {
	public static void main(String[] args) {
		int[] nums= {2,3,5,21,34,22,11,25,44};
		System.out.println(Arrays.toString(topk(nums,3)));
	}
	
	public static int[] topk(int[] nums, int k) {
		PriorityQueue<Integer> queue=new PriorityQueue<Integer>(new Comparator<Integer>() {
			@Override
			public int compare(Integer o1, Integer o2) {
				return o2-o1;
			}
		});
		for(int i=0;i<nums.length;i++) {
			queue.add(nums[i]);
		}
		int[] result=new int[k];
		int index=0;
		while(index<k) {
			result[index]=queue.poll();
			index++;
		}
		return result;
	}
}
